<?php
namespace app\api\controller;
use think\Controller;
use app\api\model\Venue as Venues;
use map\Map;
use think\View;
use function think\select;
use app\api\model\Favorite;
/**
 * 
 * @author sj
 * 附近场馆控制器
 */
class Venue extends Controller{
    private static  $VModel;
    private static  $FModel;
    public function __construct(){
        if(!self::$VModel){
            self::$VModel=new Venues();
        }
        if(!self::$FModel){
            self::$FModel=new Favorite();
        }
    }
    //这里是根据附近场馆
    public function selectLists(){
        //$area=empty(input('get.area'))?'黄浦区':input('get.area');
        //这个是根据用户点击附近场馆进行授权过后得到地理位置发送过来的用户地区信息
        //根据用户地区进行链表查询是否存在商家
        //这里发出请求
        $lat=input('get.lat');
        $lng=input('get.lng');
//         $r=self::$VModel->RetoLoaction($lat, $lng);
//         if($r){
//             $lat=$r['y'];
//             $lng=$r['x'];
//         }
        //这里为了可以浏览器之间交互
        //点击附近场馆将用户的位置进行保存
        session('lat',$lat);
        session('lng',$lng);
        //还有一种就是用户点击进行请求坐标即可获取用户的的位置
        $orgins=array('lat'=>$lat,'lng'=>$lng);
        
        $area=$this->getDistrict($lat, $lng);
        //上面是微信授权获取经纬度调用接口 修改位置 
        //点击附近场地 传递 用户经纬度 调用接口获取用户所在区域 
        //或者 前段点击附近场地 进入授权页面 调用接口传递 用户所在区域上面是第一种
        
        $page_num=empty(input('get.page_num'))?1:input('get.page_num');
        $page_size=empty(input('get.page_size'))?3:input('get.page_size');
        $res=self::$VModel->select($orgins,$page_num,$page_size,$area);
        //dump($res);
       if($res)
       {
      return view('index',array('data'=>$res));
       }else{
           ajaxReturn2(1,'ok',$res);
       }
    }
    //测试百度地图
    public function testMap(){
        //return view('baidu');
        $address="上海黄浦淮海中路1号柳林大厦1906";
        $address="上海市黄浦区普安路10号上海霓虹儿童广场B1层";
        $res=self::$VModel->getDistance($address);
        dump($res);
    }
    //你地址测试
    public function testMap2(){
        $lat='31.230862128016';
        $lng='121.48658564292';
        $Map=new Map();
        $res=$Map->getAddress($lat, $lng);
        dump($res);
    }
    //得到区
    public function getDistrict($lat,$lng){
      
        $res=self::$VModel->getDistrict($lat, $lng);
        if($res){
            return $res;
        }else{
            return 0;
        }
    }
    //
    public function select(){
        $page_num=1;
        $page_size=10;
       
        $lat='31.230862128016';
        $lng='121.48658564292';
        $map=new Map();
        $orgins=array('lat'=>$lat,'lng'=>$lng);
        self::$VModel->select($orgins,$page_num, $page_size,'黄浦区');
        $destinations=array('lat'=>'31.21747015782','lng'=>'121.5124658058');
        $res=$map->getWalking($orgins, $destinations);
       dump($res);
       //$result=self::$VModel->RetoLoaction($lat, $lng);
      // dump($result);
    }
    //场馆详情页面
    public function VenueDetails()
    {
        //这里先做测试 datetime='2017.11.9'//这里如果第一次默认的是当前今天日期 
        //后面进行异步的取出数据即可 第一次的渲染就是一个整体的数据 基本信息+场地信息+评价信息+用户电话信息
        //之后场地信息是异步接口进行数据页面局部刷新的这个只是我的收藏点击进来或者搜索周边的一个初始化即可 
        //之后点击的异步刷新接口model都完成
        //$datetime=empty(input('get.datetime'))?'2017.11.9':input('get.datetime');
        $id=empty(input('get.id'))?ajaxReturn2(-1,'id is miss'):input('get.id');//场馆ID
        //这里再添加一个用户无状态和有状态的点击是否已收藏
        
        $user_id=session('user_id');
        //$user_id=6;
        $info=self::$FModel->selectinfo($user_id, $id);
       // echo $id;
        $res=self::$VModel->VenueDetails($id);
        $lng=empty(input('get.o_lng'))?session('lng'):input('get.o_lng');
        $lat=empty(input('get.o_lat'))?session('lat'):input('get.o_lat');
        $res['location']=['o_lng'=>$lng,'o_lat'=>$lat];
        $res['fa']=$info;
        //dump(session('lat'));
        //dump($res);
        if(!empty($res)){
           return view('details',array('res'=>$res));
        }else{
            die;
        }
        
    }
    //点击日期的形式进行异步的产地信息
    public function VenueDetails2(){
        $datetime=empty(input('get.datetime'))?ajaxReturn2(-1,'请选择日期',''):input('get.datetime');
        $place_id=empty(input('place_id'))?ajaxReturn2(-1,'场馆ID必须出传递',''):input('get.place_id');
        $length=empty(input('get.hours'))?10:input('get.hours');
        $res=self::$VModel->Venuestatus($datetime, $place_id, $length);
        //dump($res);
       if(!empty($res)){
           return ajaxReturn2(1,'select sucess',$res);
       }else{
           die;
       }
       
        //dump($res);
//         if(!empty($res)){
//             ajaxReturn2(1,'select sucess',$res);
//         }else{
//             ajaxReturn2(0,'select failed',$res);
//         }
       
    }
    public function Evation(){
        $id=input('get.id');
        $eval=self::$VModel->VenueDetails($id);
       // dump($eval);
        $res=self::$VModel->getEvalationInfo($id);
       // $res['count']=count($res)-2;
        $res['name']=$eval['designation'];
        $res['img']=$eval['img'];
       
      // dump($res);
       if(!empty($res)){
           return view('look',array('data'=>$res));
       }
    }
    public function test(){
        $id=1;
        $res=self::$VModel->getEvalationInfo($id);
        dump($res);
        $data=array('area'=>'300','qixie'=>'跑步机,椭圆机,直臂夹胸训练器','course'=>'瑜伽课');
        $json_str=json_encode(ch_json($data));
        $json_arr=json_decode($json_str,true);
        var_dump(ch_arr($json_arr));
        $data=array('introduce'=>$json_str);
        db('place')->insert($data);
    }
    public function ce(){
 // 模板变量赋值
 //$data=array('sj','ss');
      return view('ce',array('data'=>11));
     //fetch assgin 都要进行传递一个key值才行
        
       
    }
    //添加异步请求验证
    public function checkSum($checkSum){
        if(!$checkSum)return ;
        $S_appkey=config('S_appkey');
        $S_appscret=config('S_appscret');
        $currentime=time();
        $validate=sha1($S_appkey.$S_appscret.$currentime);
        if(!$checkSum=$validate){
            return 0;
        }else{
            return true;
        }
    }
    //添加请求频率Ip段控制
    public function CheckIp($ip){
        if(!$ip)return ;
        $allowsIp=config('allowsIp');
        if(!in_array($ip, $allowsIp)){
            return 0;
        }else{
           //查询数据库Ip访问的频率
           
        }
           
    }
    public function ce_ve(){
        $length=(24-8);
        self::$VModel->Venuestatus('2017.11.9',1,$length);
    }
    public function t(){
        echo time();
        
    }
}